/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   Module Name          : com.yaodian100.ec.order.entity.OrderBonusCampaign
   Module Description   :

   Date Created      : 2011/10/19
   Original Author   : feeling.wang
   Team              : yaodian100
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   MODIFICATION HISTORY
   ------------------------------------------------------------------------------
   Date Modified       Modified by       Comments
   ------------------------------------------------------------------------------
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
package com.yaodian100.ec.order.entity;

import java.io.Serializable;
import java.math.BigDecimal;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

/**
 * @author feeling.wang
 * 
 */
@Entity
@Table(name = "EC_ORDER_BONUS_CAMPAIGN")
public class OrderBonusCampaign implements Serializable {
	/** serialVersionUID */
	private static final long serialVersionUID = -5824468582776895195L;
	/** 訂單編號 */
	@Id
	@GeneratedValue(generator = "assigned")
	@GenericGenerator(name = "assigned", strategy = "assigned")
	@Column(name = "ORDER_ID", nullable = false, length = 13)
	private String orderId;

	/** 折抵比率 */
	@Column(name = "OFFSET_RATE", columnDefinition = "numeric(10,2)")
	private BigDecimal offsetRate = BigDecimal.ZERO;

	/** 折抵上限 % */
	@Column(name = "OFFSET_UPPER_LIMIT", columnDefinition = "numeric(10,2)")
	private BigDecimal offsetUpperLimit = BigDecimal.ZERO;

	/** 订单折抵上限金额 */
	@Column(name = "OFFSET_DISCOUNT_LIMIT", columnDefinition = "numeric(10,2)")
	private BigDecimal offsetDiscountLimit;

	/** 效期開始日 */
	@Column(name = "START_PERIOD", nullable = false)
	private String startPeriod;

	/** 效期長度 */
	@Column(name = "PERIOD_DAYS", nullable = false)
	private String periodDays;

	/** 發送積分 */
	@Column(name = "GIVE_BONUS", columnDefinition = "numeric(10,2)")
	private BigDecimal giveBonus;

	/**
	 * 发送积分活动名称 Campaign Name
	 */
	@Column(name = "CAMPAIGN_NAME", length = 100, nullable = false)
	private String campaignName;

	/**
	 * 记录发送积分设定资料
	 */
	@Column(name = "GIVE_BONUS_SETTING", length = 2000, nullable = false)
	private String giveBonusSetting;

	public String getOrderId() {
		return orderId;
	}

	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}

	public BigDecimal getOffsetRate() {
		return offsetRate;
	}

	public BigDecimal getOffsetUpperLimit() {
		return offsetUpperLimit;
	}

	public void setOffsetRate(BigDecimal offsetRate) {
		this.offsetRate = offsetRate;
	}

	public void setOffsetUpperLimit(BigDecimal offsetUpperLimit) {
		this.offsetUpperLimit = offsetUpperLimit;
	}

	public BigDecimal getOffsetDiscountLimit() {
		return offsetDiscountLimit;
	}

	public String getStartPeriod() {
		return startPeriod;
	}

	public String getPeriodDays() {
		return periodDays;
	}

	public BigDecimal getGiveBonus() {
		return giveBonus;
	}

	public void setOffsetDiscountLimit(BigDecimal offsetDiscountLimit) {
		this.offsetDiscountLimit = offsetDiscountLimit;
	}

	public void setStartPeriod(String startPeriod) {
		this.startPeriod = startPeriod;
	}

	public void setPeriodDays(String periodDays) {
		this.periodDays = periodDays;
	}

	public void setGiveBonus(BigDecimal giveBonus) {
		this.giveBonus = giveBonus;
	}

	public String getCampaignName() {
		return campaignName;
	}

	public void setCampaignName(String campaignName) {
		this.campaignName = campaignName;
	}

	public String getGiveBonusSetting() {
		return giveBonusSetting;
	}

	public void setGiveBonusSetting(String giveBonusSetting) {
		this.giveBonusSetting = giveBonusSetting;
	}
}
